;;; https://nyxt.atlas.engineer/article/getting-started-on-nyxt-hacking-1-bookmarklet.org
(in-package #:nyxt-user)

;;; Loading files from the `modules/` directory
;(load (nyxt-init-file "custom/keybinds.lisp"))
(load (nyxt-init-file "custom/statusline.lisp"))
;(load (nyxt-init-file "custom/dashboard.lisp"))
;(load (nyxt-init-file "custom/colors.lisp"))

(define-configuration browser
    ((session-restore-prompt :never) ; Don't restore browser
     (external-editor-program '("emacs")))) ; Set default editor 

;(define-configuration prompt-buffer) ; Custom prompt pop-up

;;; Settings that every type of buffer should share.
(define-configuration (buffer web-buffer internal-buffer editor-buffer prompt-buffer)
    ((default-modes 
       (append 
        '(
          nyxt::vi-normal-mode ; Vi keybindings. 
          ) %slot-default%)))) 

;; Basic modes setup for web-buffers(like actually websites).
(define-configuration web-buffer
    ((default-modes 
        `(
         nyxt::vi-normal-mode ; Start with VI style keybinds
         ;auto-mode ; What's auto mode?
         blocker-mode ; Block a list of domains ; TODO: How do I configure the list?
         force-https-mode ; Force https in all urls
         ;reduce-tracking-mode ; Send a do not track request
         ,@%slot-default%)))) ; Add all modes from %slot-default% to default modes using a unquote-splicing form
